-
Notifications
You must be signed in to change notification settings - Fork 231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(s3stream): optimization handler chain #1726
base: main
Are you sure you want to change the base?
Conversation
@@ -128,7 +128,7 @@ public class S3Storage implements Storage { | |||
|
|||
@SuppressWarnings("this-escape") | |||
public S3Storage(Config config, WriteAheadLog deltaWAL, StreamManager streamManager, ObjectManager objectManager, | |||
S3BlockCache blockCache, ObjectStorage objectStorage, StorageFailureHandler storageFailureHandler) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why S3Storage need to know the storage failure handle is a StorageHandlerChain?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why S3Storage need to know the storage failure handle is a StorageHandlerChain?
Based on the current constructor method with the handler parameter, it gives the impression that only a single handler implementation class needs to be executed, whereas in reality, S3Storage requires the execution of multiple handler implementation classes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why S3Storage need to know the storage failure handle is a StorageHandlerChain?
The root cause lies in the fact that the current design does not distinguish between 'chain' and 'handler' (that is, the chain of responsibility has not been distinguished from the nodes on the chain of responsibility), with differentiation made only in naming.
This PR is being marked as stale since it has not had any activity in 90 days. If you would like to keep this PR alive, please ask a committer for review. If the PR has merge conflicts, please update it with the latest from trunk (or appropriate release branch) If this PR is no longer valid or desired, please feel free to close it. If no activity occurs in the next 30 days, it will be automatically closed. |
issue